#ifndef __KMYSQL_H__
#define __KMYSQL_H__

#include <stdio.h>
#include <mysql/mysql.h>
#define SQL_MAX_LEN         1024
#define SQL_CONFIG_BUFFER_SIZE 256

#define MYSQL_LOG_MODULE    "cfg"
#define MYSQL_LOG_PROC      "mysql"

/**
 * @brief 连接数据库
 * @Param userName 用户名
 * @Param passwd 密码
 * @Param dbName 数据库名
 * @return MYSQL* 连接成功返回MYSQL*指针，失败返回NULL
 */
MYSQL* MysqlConn(char *userName, char* passwd, char *dbName);

/** 
 * @brief 处理结果集
 * @Param conn 数据库连接
 * @Param res 结果集
 */
void ProcessResults(MYSQL *conn, MYSQL_RES *res);

/**
 * @brief 打印错误信息
 * @Param conn 数据库连接
 * @Param title 错误信息标题
 */
void PrintError(MYSQL *conn, const char *title);

/**
 * @brief 处理结果集中的一条记录中一个字段， 如果buffer为NULL，只做判断是否有记录
 * @Param conn 数据库连接
 * @Param sqlCmd SQL命令
 * @Param buffer 结果集, 如果为NULL，只做判断是否有记录
 * @return int 成功并保存记录集返回0
 *             没有记录集1
 *             有记录2
 *             失败-1
 */
int ProcessResultOne(MYSQL *conn, char* sqlCmd, char *buffer, int colIndex);
#endif